home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / mapl0301.zip / MBS10301.MRG < prev    next >
Text File  |  1993-03-01  |  42KB  |  1,128 lines

  1. * ------------[ BLED merge (c) Ken Goosens ]-------------
  2. * Merge this against E:\RBBS\STOCK\RBBSSUB1.BAS to produce E:\RBBS\CHAT\RBBSSUB1.BAS
  3. * E:\RBBS\STOCK\RBBSSUB1.BAS:  Date 6-20-1992  Size 55569 bytes
  4. * ------------[ Created 03-01-1993 19:14:19 ]------------
  5. * REPLACING old line(s) by new
  6. ' $linesize:132
  7. ' $title: 'RBBS-SUB1.BAS 17.4, Copyright 1986-92 by D. Thomas Mack'
  8. '  Copyright 1990 by D. Thomas Mack, all rights reserved.
  9. '  Name ...............: RBBSSUB1.BAS
  10. '  First Released .....: June 21, 1992
  11. '  Subsequent Releases.: 
  12. '  Copyright ..........: 1986-1992
  13. '  Purpose.............:
  14. '     Subprorams that require error trapping are incorporated
  15. '     within RBBSSUB1.BAS as separately callable subroutines
  16. '     in order to free up as much code as possible within
  17. '     the 64WasK code segment used by RBBS-PC.BAS.
  18. '  Parameters..........: Most parameters are passed via a COMMON statement.
  19. '
  20. ' Subroutine  Line               Function of Subroutine
  21. '   Name     Number
  22. '  ChangeDir   20101   Change subdirectory
  23. '  CheckInt    58360   Check input is valid integer
  24. '  CommPut     59275   Write string to communications port
  25. '  FindFile    59790   Determine whether a file exists without opening it
  26. '  FindFree    51098   Find amount of space on the upload disk drive
  27. '  FindItX     20219   Find if a file exists on a device
  28. '  FindUser    12598   Find a user in the USERS file
  29. '  FlushCom    20308   Read all characters in the communications port
  30. '  GetCom       1418   Read a character from the communications port
  31. * ------[ first line different ]------
  32. '  GetMenuNew  58370   Read "MENUNEW.DEF" file for Menu0 Updates     'MENU174
  33. '  GetPassword 58280   Read RBBS-PC's "PASSWORD" file
  34. '  GETWRK      58330   Read record from file number 2
  35. '  KillWork    58258   Delete a RBBS-PC "WORK" file
  36. '  NetBIOS     20898   Lock/Unlock NetBIOS semaphore files
  37. '  OpenCom       200   Open communications port (number 3)
  38. '  OpenFMS     58188   Open the upload management system directory
  39. '  OpenOutW    28218   Open RBBS-PC's "WORK" file (number 2) for output
  40. '  OpenRSeq     1479   Open a sequential file (number 2) for random I/O
  41. '  OpenUser     9398   Open the USER file (number 5)
  42. '  OpenWork    57978   Open RBBS-PC's work file (number 2)
  43. '  OpenWorkA   58340   Open RBBS-PC's "WORK" file (number 2) for append
  44. '  Printit     13673   Print line on the local PC printer
  45. '  PrintWork   58320   Print string to file #2 w/o CR/LF
  46. '  PrintWorkA  58350   Print string to file #2 with CR/LF
  47. '  PutCom      59650   Write to the communications port
  48. '  PutWork     59660   Write to work file randomly
  49. '  RBBSPlay    59680   Plays a musical string          'Removed from Maple
  50. '  ReadAny     58310   Read file number 2 into ZOutTxt$
  51. '  ReadDef       112   Read configuration file
  52. '  ReadDir     58290   Read entire lines
  53. '  ReadParmsX  58300   Read certain number of parameters from specified file
  54. '  Talk        59700   RBBS-PC Voice synthesizer support for sight impaired Removed
  55. '  SetCall       108   Find where next callers record is
  56. '  UpdateC     43048   Update the caller's file with elasped session time
  57. '  UpdtCalr    13661   Update to the caller's file
  58. '  ViewTxt     60139   Display ASCII file from Compressed file 'Pe 02/03/90
  59. '
  60. '  $INCLUDE: 'RBBS-VAR.BAS'
  61. * REPLACING old line(s) by new
  62. 117 IF ZSubParm <> -62 THEN _
  63.        IF PrevRead$ = ConfigFile$ THEN _
  64.           EXIT SUB _
  65.        ELSE PrevRead$ = ConfigFile$
  66.     CLOSE 2
  67.     ZBulletinSave$ = ZBulletinMenu$
  68.     CALL OpenWork (2,ConfigFile$)
  69.     ZCurDef$ = ConfigFile$
  70.     INPUT #2,ZWasDF$, _
  71.              ZDnldDrives$, _
  72.              ZSysopPswd1$, _
  73.              ZSysopPswd2$, _
  74.              ZSysopFirstName$, _
  75.              ZSysopLastName$, _
  76.              ZRequiredRings, _
  77.              ZStartOfficeHours, _
  78.              ZEndOfficeHours, _
  79.              ZMinsPerSession, _
  80.              ZWasDF, _
  81.              ZWasDF, _
  82.              ZUpldDir$, _
  83. * ------[ first line different ]------
  84.              ZSkipMailCheck, _             ' was ZExpertUserDef, _
  85.              ZActiveBulletins, _
  86.              ZPromptBellDef, _
  87.              ZWasDF, _
  88.              ZMenusCanPause, _
  89.              ZMenu$(1), _
  90.              ZMenu$(2), _
  91.              ZMenu$(3), _
  92.              ZMenu$(4), _
  93.              ZMenu$(5), _
  94.              ZMenu$(6), _
  95.              ZConfMenu$, _
  96.              ZTestANSITime, _
  97.              ZWelcomeInterruptable, _
  98.              ZRemindFileXfers, _
  99.              ZPageLengthDef, _
  100.              ZMaxMsgLinesDef, _
  101.              ZDoorsAvail, _
  102.              ZWasDF$, _
  103.              ZMainMsgFile$, _
  104.              ZMainMsgBackup$
  105.     INPUT #2, WasX$, _
  106.               ZCmntsFile$, _
  107.               ZMainUserFile$, _
  108.               ZWelcomeFile$, _
  109.               ZNewUserFile$, _
  110.               ZMainDirExtension$
  111.     CALL BreakFileName (WasX$,ZWasY$,ZWasDF$,ZWasZ$,ZFalse)
  112.     IF ZWasDF$ <> "" THEN _
  113.        ZCallersFile$ = WasX$
  114.     INPUT #2, ZWasDF$
  115.     IF ZComPort$ <> "COM0" THEN _
  116.        IF NOT ZConfMode THEN _
  117.           ZComPort$ = ZWasDF$
  118.     INPUT #2, ZBulletinsOptional, _
  119.               ZModemInitCmd$, _
  120.               ZRTS$, _
  121.               ZCallersLst$, _
  122.               ZFG, _
  123.               ZBG, _
  124.               ZBorder
  125.     IF ZConfMode THEN _
  126.        INPUT #2, ZWasDF$, _
  127.                  ZWasDF$ _
  128.     ELSE INPUT #2, ZRBBSBat$ , _
  129.                    ZRCTTYBat$
  130.     INPUT #2,ZOmitMainDir$, _
  131.              ZFirstNamePrompt$, _
  132.              ZHelp$(3), _
  133.              ZHelp$(4), _
  134.              ZHelp$(7), _
  135.              ZHelp$(9), _
  136.              ZBulletinMenu$, _
  137.              ZBulletinPrefix$, _
  138.              ZWasDF$, _
  139.              ZMsgReminder, _
  140.              ZRequireNonASCII, _
  141.              ZAskExtendedDesc, _
  142.              ZMaxNodes                                               ' KG100701
  143.     IF ZConfMode THEN _                                              ' KG100701
  144.        INPUT #2, ZwasDF, ZwasDF _                                    ' KG100701
  145.     ELSE INPUT #2, ZNetworkType, _                                   ' KG100701
  146.                    ZRecycleToDos
  147.     INPUT #2,ZWasDF, _
  148.              ZWasDF, _
  149.              ZTrashcanFile$
  150.     INPUT #2,ZMinLogonSec, _
  151.              ZDefaultSecLevel, _
  152.              ZSysopSecLevel, _
  153.              ZFileSecFile$, _
  154.              ZSysopMenuSecLevel, _
  155.              ZConfMailList$, _
  156.              ZMaxViolations, _
  157.              ZOptSec(50), _   ' SECURITY FOR SYSOP COMMANDS 1
  158.              ZOptSec(51), _
  159.              ZOptSec(52), _
  160.              ZOptSec(53), _
  161.              ZOptSec(54), _
  162.              ZOptSec(55), _
  163.              ZOptSec(56), _   ' SYSOP 7
  164.              ZPswdFile$, _
  165.              ZMaxPswdChanges, _
  166.              ZMinSecForTempPswd, _
  167.              ZOverWriteSecLevel, _
  168.              ZDoorsTermType, _
  169.              ZMaxPerDay
  170.     INPUT #2,ZOptSec(1), _   ' SECURITY FOR MAIN MENU COMMANDS 1
  171.              ZOptSec(2), _
  172.              ZOptSec(3), _
  173.              ZOptSec(4), _
  174.              ZOptSec(5), _
  175.              ZOptSec(6), _
  176.              ZOptSec(7), _
  177.              ZOptSec(8), _
  178.              ZOptSec(9), _
  179.              ZOptSec(10), _
  180.              ZOptSec(11), _
  181.              ZOptSec(12), _
  182.              ZOptSec(13), _
  183.              ZOptSec(14), _
  184.              ZOptSec(15), _
  185.              ZOptSec(16), _
  186.              ZOptSec(17), _
  187.              ZOptSec(18), _   ' MAIN COMMAND 18
  188.              ZMinNewCallerBaud, _
  189.              ZWaitBeforeDisconnect
  190.     INPUT #2,ZOptSec(19), _      ' Security for FILE COMMANDS 1
  191.              ZOptSec(20), _
  192.              ZOptSec(21), _
  193.              ZOptSec(22), _
  194.              ZOptSec(23), _
  195.              ZOptSec(24), _
  196.              ZOptSec(25), _
  197.              ZOptSec(26), _      ' FILE COMMAND 8
  198.              ZOptSec(27), _      ' SECURITY FOR UTILITY COMMANDS 1
  199.              ZOptSec(28), _
  200.              ZOptSec(29), _
  201.              ZOptSec(30), _
  202.              ZOptSec(31), _
  203.              ZOptSec(32), _
  204.              ZOptSec(33), _
  205.              ZOptSec(34), _
  206.              ZOptSec(35), _
  207.              ZOptSec(36), _
  208.              ZOptSec(37), _
  209.              ZOptSec(38), _   ' UTIL COMMAND 12
  210.              ZOptSec(46), _   ' SECURITY FOR GLOBAL COMMANDS 1
  211.              ZOptSec(47), _
  212.              ZOptSec(48), _
  213.              ZOptSec(49), _
  214.              ZUpldTimeFactor!, _
  215.              ZComputerType, _
  216.              ZRemindProfile, _
  217.              ZRBBSName$, _
  218.              ZCmdsBetweenRings, _
  219.              ZCopyrightSecs, _
  220.              ZPagingPtrSupport$
  221.     IF ZConfMode THEN _
  222.          INPUT #2, ZwasDF$ _                    'Pe 04/14/92
  223.     ELSE INPUT #2, ZModemInitBaud$
  224.              IF ZErrCode > 0 THEN _
  225.                 EXIT SUB
  226. * REPLACING old line(s) by new
  227. 119 INPUT #2, ZPersonalDrvPath$, _
  228.               ZPersonalDir$, _
  229.               ZPersonalBegin, _
  230.               ZPersonalLen, _
  231.               ZPersonalProtocol$, _
  232.               ZPersonalConcat , _
  233.               ZPrivateReadSec, _
  234.               ZPublicReadSec, _
  235.               ZSecChangeMsg
  236.     IF ZConfMode THEN _
  237.          INPUT #2, ZwasDF _
  238.     ELSE INPUT #2, ZKeepInitBaud
  239.     INPUT #2, ZMainPUI$
  240.     IF ZConfMode THEN _
  241.        INPUT #2, ZWasDF$,ZWasDF$,ZWasDF$ _
  242.     ELSE INPUT #2, ZDefaultEchoer$, _
  243.                    ZHostEchoOn$, _
  244.                    ZHostEchoOff$
  245.     INPUT #2, ZSwitchBack, _
  246.               ZDefaultLineACK$, _
  247.               ZAltdirExtension$, _
  248.               ZDirPrefix$
  249.     IF ZConfMode THEN _
  250.        INPUT #2, ZWasDF, _
  251.                  ZWasDF, _
  252.                  ZWasDF _
  253.     ELSE INPUT #2, ZWasDF,_
  254.                    ZModemInitWaitTime, _
  255.                    ZModemCmdDelayTime
  256.     INPUT #2, ZTurboRBBS, _
  257.               ZSubDirCount, _
  258.               ZWasDF, _
  259.               ZUpldToSubdir, _
  260.               ZWasDF, _
  261.               ZUpldSubdir$, _
  262.               ZMinOldCallerBaud, _
  263.               ZMaxWorkVar, _
  264.               ZDiskFullGoOffline, _
  265.               ZExtendedLogging
  266.      IF ZConfMode THEN _
  267.         INPUT #2, ZWasDF$, _
  268.                   ZWasDF$, _
  269.                   ZWasDF$, _
  270.                   ZWasDF$ _
  271.      ELSE INPUT #2, ZModemResetCmd$, _
  272.                     ZModemCountRingsCmd$, _
  273.                     ZModemAnswerCmd$, _
  274.                     ZModemGoOffHookCmd$
  275.      INPUT #2,ZDiskForDos$, _
  276.               ZDumbModem, _
  277.               ZCmntsAsMsgs
  278.      IF ZConfMode THEN _
  279.         INPUT #2, ZWasDF, _
  280.                   ZWasDF, _
  281.                   ZWasDF, _
  282.                   ZWasDF, _
  283.                   ZWasDF, _
  284.                   ZWasDF _
  285.      ELSE INPUT #2, ZLSB,_
  286.                     ZMSB,_
  287.                     ZLineCntlReg,_
  288.                     ZModemCntlReg,_
  289.                     ZLineStatusReg,_
  290.                     ZModemStatusReg
  291.      INPUT #2,ZKeepTimeCredits, _
  292.               ZXOnXOff, _
  293.               ZAllowCallerTurbo, _
  294.               ZUseDeviceDriver$, _
  295.               ZPreLog$, _
  296.               ZNewUserQuestionnaire$, _
  297.               ZEpilog$, _
  298.               ZRegProgram$, _
  299.               ZQuesPath$, _
  300.               ZUserLocation$, _
  301.               ZWasDF$, _
  302.               ZWasDF$, _
  303.               ZWasDF$, _
  304.               ZEnforceRatios, _
  305.               ZSizeOfStack, _
  306.               ZSecExemptFromEpilog, _
  307.               ZUseBASICWrites, _
  308.               ZDosANSI, _
  309.               ZEscapeInsecure, _
  310.               ZUseDirOrder, _
  311.               ZAddDirSecurity, _
  312.               ZMaxExtendedLines, _
  313.               ZOrigCommands$
  314.      INPUT #2,ZLogonMailLevel$, _
  315.               ZMacroDrvPath$, _
  316.               ZMacroExtension$, _
  317.               ZEmphasizeOnDef$, _
  318.               ZEmphasizeOffDef$, _
  319.               ZFG1Def$, _
  320.               ZFG2Def$, _
  321.               ZFG3Def$, _
  322.               ZFG4Def$, _
  323.               ZSecVioHelp$
  324.      IF ZConfMode THEN _
  325.         INPUT #2,ZWasDF _
  326.      ELSE INPUT #2,ZFossil
  327.      INPUT #2,ZMaxCarrierWait, _
  328.               ZWasDF, _
  329.               ZSmartTextCode, _
  330.               ZTimeLock, _
  331.               ZWriteBufDef, _
  332.               ZSecKillAny, _
  333.               ZDoorsDef$, _
  334.               ZScreenOutMsg$, _
  335.               ZAutoPageDef$
  336.      IF ZErrCode > 0 THEN _
  337.         EXIT SUB
  338.      ZConfigFileName$ = ConfigFile$
  339. * ------[ first line different ]------
  340.  ZSysopCmds$ =  ZSysopCmds$ +"8"                          'Pe021293
  341.  ZOptSec(57) = ZOptSec(56)                      ' SYSOP 8
  342.      CALL EditDef
  343. * INSERTING new line(s)
  344. 150 MKDIR ZlibWorkDiskPath$ + ZNodeId$
  345.   IF ZErrCode = 75 THEN _
  346.      ZErrCode = 0
  347.        ZArkViewPath$ =  ZLibWorkDiskPath$ + ZNodeID$ + "\"   'Pe 08/15/91
  348.         ZChatFileName$ = ZLibDrive$+"RBBSCHAT.DEF"            'Pe 02/22/92
  349.     END SUB
  350. * REPLACING old line(s) by new
  351. * ------[ first line different ]------
  352.  202 CLOSE 3
  353.      IF ZRTS$ = "YES" THEN _
  354.         ZFlowControl = ZTrue : _
  355.        WasX$ = ",CS26600,CD,DS" _
  356.     ELSE WasX$ = ",RS,CD,DS"
  357.     WasX = (VAL(BaudRate$) > 19200)
  358.     IF WasX THEN _
  359.        ZWasY$ = "19200" _
  360.     ELSE ZWasY$ = BaudRate$
  361.     OPEN ZComPort$ + ":" + ZWasY$ + Parity$ + WasX$ AS #3
  362. '
  363. ' ****************************************************************************
  364. ' *  RAISE THE RTS SIGNAL IF THE MODEM USES RTS FOR MODEM FLOW CONTROL (ONCE
  365. ' *  IT IS RAISED, IT WILL STAY UP UNTIL THE REGISTER IS CLEARED OUT).
  366. ' ****************************************************************************
  367. '
  368.     END SUB
  369. * REPLACING old line(s) by new
  370. 1487 ZErrCode = 0
  371.      IF ZShareIt THEN _
  372.         OPEN FileToOpen$ FOR RANDOM SHARED AS #2 LEN=FileLen _
  373.      ELSE OPEN "R",2,FileToOpen$,FileLen
  374.      END SUB
  375. * ------[ first line different ]------
  376. '
  377. ' Sub to open LNG file as Random Shared for Mape RBBS
  378. ' FileNumber is also passed to this routine since RBBS only
  379. ' has an OpenRan2 
  380. '
  381. * INSERTING new line(s)
  382. 1488 SUB OpenRand (Num,FileToOpen$, FileLen) STATIC             'Pe022501
  383.      ON ERROR GOTO 65000                                        'Pe022501
  384.      CLOSE #Num                                                 'Pe022501
  385. 1489 ZErrCode = 0                                               'Pe022501
  386.      IF ZShareIt THEN _                                         'Pe022501 
  387.      OPEN FileToOpen$ FOR RANDOM SHARED AS #Num LEN=FileLen _   'Pe022501
  388.      ELSE OPEN "R",Num,FileToOpen$,FileLen                      'Pe022501 
  389.      END SUB                                                    'Pe022501
  390. '
  391. * REPLACING old line(s) by new
  392. 13663 ZErrCode = 0
  393.       FIELD 4, 64 AS ZCallersRecord$
  394.       IF ZErrCode > 0 THEN _
  395. * ------[ first line different ]------
  396.       Call GetRBBSString(47,RBBSString$) : _     'Pe 01/16/93
  397.       OutTxt$ = RBBSString$ : _                'Pe 01/16/93 
  398.          CALL QuickTPut1 (OutTxt$+STR$(ZErrCode)) : _
  399.          ZErrCode = 0 : _
  400.          EXIT SUB
  401.       ON EXTLog GOTO 13665,13670,13667
  402. '
  403. ' ****  EXTENDED LOGGING ENTRY  ***
  404. '
  405. * REPLACING old line(s) by new
  406. 13674 IF ZPrinter THEN _
  407.          LPRINT Strng$
  408.       END SUB
  409. * ------[ first line different ]------
  410. '
  411. * DELETING old line(s)
  412. 20101
  413. 20103
  414. * REPLACING old line(s) by new
  415. 52001 FILES ZWasZ$
  416.       IF ZErrCode = 53 AND (ZWasZ$ = ZCmntsFile$ OR ZWasZ$ = ZUpldDriveFile$ ) THEN _
  417.          CALL OpenOutW (ZWasZ$) : _
  418.          GOTO 52000
  419.       IF ZErrCode = 53 AND ZWasZ$ = ZUpldDir$ THEN _
  420. * ------[ first line different ]------
  421.        Call GetRBBSString(262,RBBSString$) : _     'Pe 01/16/93
  422.          ZOutTxt$ = RBBSString$ : _                'Pe 01/16/93 
  423.          ZSubParm = 6 : _
  424.          CALL TPut : _
  425.          GOTO 52002
  426.       FOR WasX = 1 TO 25
  427.          ZFreeSpace$ = ZFreeSpace$ + CHR$(SCREEN (3,WasX))
  428.       NEXT
  429. * REPLACING old line(s) by new
  430. 58190 ' $SUBTITLE: 'OpenFMS - subroutine to open the FMS directory'
  431. ' $PAGE
  432. '
  433. '  NAME    -- OpenFMS
  434. '
  435. '  INPUTS  -- PARAMETER                      MEANING
  436. '             ZShareIt                DOS SHARING FLAG
  437. '             ZFMSDirectory$          NAME OF FMS DIRECTORY
  438. '
  439. '  OUTPUTS -- LastRec                NUMBER OF THE Last
  440. '                                    RECORD IN THE FILE
  441. '             CatLen                 Length of the category code
  442. '
  443. '  PURPOSE -- To open the upload directory as a random file and find
  444. '             the number of the last record in the file.
  445. '
  446.       SUB OpenFMS (LastRec,CatLen) STATIC
  447.       ON ERROR GOTO 65000
  448.       CLOSE 2
  449. * ------[ first line different ]------
  450.  IF ZActiveFMSDir$  = "" THEN _   'Pe Lib Mod
  451. ZActiveFMSDir$ = ZFMSDirectory$  'Pe Lib mod
  452.       OldFile = (ZActiveFMSDir$ = PrevFMS$)
  453.       IF OldFile THEN _
  454.          GOTO 58192
  455.       CALL OpenWork (2,ZActiveFMSDir$)
  456.       CALL ReadDir (2,1)
  457.       IF ZErrCode > 0 OR LEN(ZOutTxt$) < 37 THEN _                   ' KG091002
  458.          IF ZActiveFMSDir$ = ZPersonalDir$ THEN _
  459.             ZFMSFileLength = 36 + ZMaxDescLen + ZPersonalLen _
  460.          ELSE ZFMSFileLength = 38 + ZMaxDescLen _
  461.       ELSE ZFMSFileLength = LEN(ZOutTxt$) + 2
  462.       IF ZFMSFileLength < 86 THEN _                                  ' KG091002
  463.          CalcCatLen = 3 : _                                          ' KG091002
  464.          ZMaxDescLen = ZFMSFileLength - 38 _                         ' KG091002
  465.       ELSE CalcCatLen = ZPersonalLen : _                             ' KG091002
  466.            ZMaxDescLen = ZFMSFileLength - 36 - ZPersonalLen          ' KG091002
  467.       CLOSE 2
  468. * REPLACING old line(s) by new
  469. 58192 ZErrCode = 0
  470.       IF ZShareIt THEN _
  471.          OPEN ZActiveFMSDir$ FOR RANDOM SHARED AS #2 LEN=ZFMSFileLength _
  472.       ELSE OPEN "R",2,ZActiveFMSDir$,ZFMSFileLength
  473. * ------[ first line different ]------
  474. If ZErrCode > 0 Then                    'Pe 02/02/90
  475.    ZerrCode = 0
  476. Call GetRBBSString(48,RBBSString$)     'Pe 01/16/93
  477.       OutTxt$ = RBBSString$                'Pe 01/16/93 
  478. CALL QuickTPut1 (OutTxt$ + ZActiveFMSDir$)    'Pe 09/25/91
  479. Call GetRBBSString(49,RBBSString$)     'Pe 01/16/93
  480.       OutTxt$ = RBBSString$                'Pe 01/16/93 
  481. Call QuickTPut1 (CHR$(7) + OutTxt$)
  482.    LastRec = 0
  483.    EXIT SUB
  484. END IF                                   'Pe 02/02/90
  485.       LastRec = LOF(2)/ZFMSFileLength
  486.       CatLen = CalcCatLen
  487.       IF OldFile THEN _
  488.          EXIT SUB
  489.       PrevFMS$ = ZActiveFMSDir$
  490.       FIELD 2, ZFMSFileLength AS FMSRec$
  491.       GET #2,1
  492.       ZWasA = (LEFT$(FMSRec$,4) <> "\FMS")
  493.       ZUpInc = 2*(INSTR(FMSRec$," TOP ") = 0 OR ZWasA) + 1
  494.       ZDateOrderedFMS = ZWasA OR (INSTR(FMSRec$," NOSORT") = 0)
  495.       ZWasDF = INSTR(FMSRec$,"CH(")
  496.       ZChainedDir$ = ""
  497.       IF ZWasDF > 0 AND (NOT ZWasA) THEN _
  498.          WasX = INSTR(ZWasDF,FMSRec$,")") : _
  499.          IF WasX > 0 THEN _
  500.             ZChainedDir$ = MID$(FMSRec$,ZWasDF+3,WasX-ZWasDF-3) : _
  501.             CALL FindFile (ZChainedDir$,ZOK) : _
  502.             IF NOT ZOK THEN _
  503.                ZChainedDir$ = ""
  504.       IF ZActiveFMSDir$ = ZPersonalDir$ THEN _
  505.          ZFileWaiting = ZFalse
  506.       ZPersonalDnld = ((ZActiveFMSDir$ = ZPersonalDir$) OR _
  507.                        (INSTR(FMSRec$," PERS") > 0 AND NOT ZWasA))
  508.       ZFreeDnld = ZPersonalDnld
  509.       IF NOT ZWasA THEN _
  510.          IF INSTR(FMSRec$," NOFREE") > 0 THEN _
  511.             ZFreeDnld = ZFalse _
  512.          ELSE IF INSTR(FMSRec$," FREE") > 0 THEN _
  513.             ZFreeDnld = ZTrue
  514.       ZListOnly = ZPersonalDnld
  515.       IF NOT ZWasA THEN _
  516.          IF INSTR(FMSRec$," LISTONLY ") > 0 THEN _
  517.             ZListOnly = ZTrue
  518.       ZExtraDnldTime = -60 * ZPersonalDnld
  519.       IF NOT ZWasA THEN _
  520.          WasX = INSTR(FMSRec$," TIMEEXTRA ")
  521.          IF WasX > 0 THEN _
  522.             CALL CheckInt (MID$(FMSRec$,WasX+10)) : _
  523.             ZExtraDnldTime = ZTestedIntValue
  524.       END SUB
  525. * INSERTING new line(s)
  526. 58370 ' $SUBTITLE: 'GetMenuNew - sub to read the "MENUNEW.DEF" File' 'MENU174
  527. ' $PAGE                                                              'MENU174
  528. '                                                                    'MENU174
  529. '  NAME    -- GetMenuNew                                             'MENU174
  530. '                                                                    'MENU174
  531. '                          PARAMETER             MEANING             'MENU174
  532. '  INPUTS  -- FILE # 2 OPENED                                        'MENU174
  533. '                                                                    'MENU174
  534. '  OUTPUTS -- ZMenuNewDate$         Date Sysop Last Online           'MENU174
  535. '             ZMenuNewTime$         Time Sysop Last Online           'MENU174
  536. '             ZMenuNewUpld          New Uploads Since Sysop on       'MENU174
  537. '             ZMenuNewUsers         New Users Since Sysop on         'MENU174
  538. '             ZMenuNewSysop         New Sysop Mail Waiting           'MENU174
  539. '             ZMenuNewCalls         Calls received since last on     'MENU174
  540. '             ZMenuNewDSC           Door Security Changes            'MENU1747
  541. '             ZMenuNewDl            Download Counter                 'MENU1747
  542. '             ZMenuNewDSL           Users Security Level Lowered     'MENU1748
  543. '                                                                    'MENU174
  544. '  PURPOSE -- To read the RBBS-PC "MENUNEW.DEF" file                 'MENU174
  545. '                                                                    'MENU174
  546.       SUB GetMenuNew STATIC                                          'MENU174
  547.       ON ERROR GOTO 65000                                            'MENU174
  548.       ZErrCode = 0                                                   'MENU174
  549.    INPUT #2,ZMenuNewDate$,     ZMenuNewTime$, _                      'MENU174
  550.                ZMenuNewUpld,      ZMenuNewUsers, _                   'MENU174
  551.                ZMenuNewCalls,     ZMenuNewSysop,_                    'MENU174
  552.                ZMenuNewDSC,       ZMenuNewDl,_                       'MENU1748
  553.                ZMenuNewDSL                                           'MENU1748
  554.          INPUT #2,ZLastOnline$                                       'RT021093
  555.          INPUT #2, ZLastSec!                                         'Pe020993
  556.      Close 2                                                         'Pe090293
  557. 58375 END SUB                                                        'MENU174
  558. * REPLACING old line(s) by new
  559. 59650 ' $SUBTITLE: 'PutCom -- subroutine to write to communications port'
  560. ' $PAGE
  561. '
  562. '  NAME    --  PutCom
  563. '
  564. '  INPUTS  --   PARAMETER     MEANING
  565. '                STRNG$      STRING TO PRINT TO COMM PORT
  566. '              ZFlowControl  WHETHER USING CLEAR TO SEND FOR FLOW
  567. '                            CONTROL BETWEEN THE PC AND THE MODEM
  568. '
  569. '  OUTPUTS --
  570. '
  571. '  PURPOSE -- Checks for carrier drop and flow control (xon/xoff)
  572. '             before writing to the communications port.
  573. '
  574.       SUB PutCom (Strng$) STATIC
  575.       ON ERROR GOTO 65000
  576.       IF ZLocalUser THEN _
  577.          EXIT SUB
  578.       CALL CheckCarrier
  579.       IF ZSubParm = -1 THEN _
  580.          EXIT SUB
  581.       IF NOT ZXOffEd THEN _
  582.          GOTO 59652
  583.       ZSubParm = 1
  584.       CALL Line25
  585.       ZWasY$ = ZXOff$
  586. * ------[ first line different ]------
  587.       XOffTimeout! = TIMER + ZWaitBeforeDisconnect
  588.       WHILE ZWasY$ = ZXOff$ AND ZSubParm <> -1
  589.          Char = -1
  590.          WHILE Char = -1 AND ZSubParm <> -1
  591.             GOSUB 59654
  592.          WEND
  593.          IF Char <> -1 THEN _
  594.             CALL GetCom(ZWasY$) : _
  595.             IF ZXOnXOff AND ZWasY$ <> ZXOn$ THEN _
  596.                ZWasY$ = ZXOff$
  597.       WEND
  598.       ZXOffEd = ZFalse
  599.       ZSubParm = 1
  600.       CALL Line25
  601. * REPLACING old line(s) by new
  602. 59654 CALL EofComm (Char)
  603.       CALL GoIdle
  604.       CALL CheckCarrier
  605. * ------[ first line different ]------
  606.       CALL CheckTime(XOffTimeout!, TempElapsed!,1)
  607.       IF ZSubParm = 2 THEN _
  608.          ZSubParm = -1
  609.       RETURN
  610.       END SUB
  611. * REPLACING old line(s) by new
  612. 59660 ' $SUBTITLE: 'PutWork -- subroutine to write to upload files'
  613. ' $PAGE
  614. '
  615. '  NAME    -- PutWork
  616. '
  617. '  INPUTS  --   PARAMETER     MEANING
  618. '                STNG$       STRING TO WRITE TO FILE
  619. '                RecNum      RECORD NUMBER TO WRITE
  620. '                RecLen      LENGTH OF RECORD TO WRITE
  621. '
  622. '  OUTPUTS --
  623. '
  624. '  PURPOSE -- Writes uploaded file records to work file
  625. '
  626.       SUB PutWork (Strng$,RecNum,RecLen) STATIC
  627.       ON ERROR GOTO 65000
  628.       FIELD #2,RecLen AS ZUpldRec$
  629.       LSET ZUpldRec$ = Strng$
  630.       RecNum = RecNum + 1
  631.       PUT #2,RecNum
  632.       END SUB
  633. * ------[ first line different ]------
  634.  
  635. * DELETING old line(s)
  636. 59680
  637. 59700
  638. 59720
  639. 59721
  640. 59722
  641. 59723
  642. * REPLACING old line(s) by new
  643. 59791 IF FExists THEN _
  644.          IOErrorCount = 0 : _
  645.          CALL RBBSFind (FilName$,WasZ,WasY,WasM,WasD) : _
  646.          FExists = (WasZ = 0)
  647.       END SUB
  648. * ------[ first line different ]------
  649. '
  650. '* INSERTING new line(s)
  651. * INSERTING new line(s)
  652. 59800 SUB OpenWrk9 (ZChatFileName$) STATIC                            ' CHAT0805
  653.       ON ERROR GOTO 65000                                            ' CHAT0805
  654.       IF ZShareIt THEN                                               ' CHAT0805
  655.          OPEN ZChatFileName$ FOR RANDOM ACCESS READ WRITE SHARED AS #9 LEN = 128
  656.        ELSE                                                          ' CHAT0805
  657.          OPEN ZChatFileName$ FOR RANDOM AS #9 LEN = 128               ' CHAT0805
  658.       END IF                                                         ' CHAT0805
  659.       END SUB                                                        ' CHAT0805
  660. '                                                                     ' CHAT0805
  661. 59810 SUB LockIt9 (Record, ReadIt) STATIC                            ' CHAT0805
  662.      If ZNetworkType = 0 Then Exit Sub        'Pe021593
  663.       ON ERROR GOTO 65000                                            ' CHAT0805
  664.       IF ZNetworkType=4 THEN                                         ' CHAT0901
  665.          CALL DVLock("CHAT")                                         ' CHAT0901
  666.       END IF                                                         ' CHAT0901
  667.       IF ZNetworkType <> 4 THEN LOCK 9, Record                       ' CHAT0901
  668.       IF ReadIt THEN                                                 ' CHAT0805
  669.          GET 9, Record                                               ' CHAT0805
  670.        ELSE                                                          ' CHAT0805
  671.          PUT 9, Record                                               ' CHAT0805
  672.       END IF                                                         ' CHAT0805
  673.       IF ZNetworkType=4 THEN                                         ' CHAT0901
  674.          CALL DVUnlock("CHAT")                                       ' CHAT0901
  675.       END IF                                                         ' CHAT0901
  676.       IF ZNetworkType <> 4 THEN UNLOCK 9, Record                     ' CHAT0901
  677.       END SUB                                                        ' CHAT0805
  678. '
  679. '
  680. 60139' $SUBTITLE: 'ViewTxt - Subroutine to display ASCII file from ARC file'
  681. ' $PAGE
  682. '
  683. '
  684. '  PURPOSE --  Allows user to access the contants of a Compressed file
  685. '              and either type an ASCII file to the screen or Xtract 
  686. '              selected members of archive. 
  687. '              To Enable this feature a .BAT file begining with X 
  688. '              and the name of the Archive type must be present were
  689. '              RBBS looks for command.com (e.g. XZIP.BAT for Zip Files)
  690. '              Three parameters are replaced in the Bat file
  691. '              [1] = FileName of selected archive
  692. '              [2] = Name of file to Xtract from archive
  693. '              [3] = Drive path specified in config for View work drive
  694. '                    to place xtracted file(s) in
  695. '
  696. '             example bat file  PKUNZIP -O [1] [2] [3]
  697. ' RBBS would insert  PKUNZIP - O  c:\new\arcfile.zip test.doc c:\view
  698. '
  699. '     The Re (Deafultextension).BAT file must contain the commands
  700. '      for the archiver you use only 2 parameters are passed to the file 
  701. '    %1) Drive\Path\ specified in config for V)iewarc feature
  702. '    %2) Default extension of compressed files on your BBS without the .
  703. '    %3) Added to Specify Node Number file is for      'LK 08/15/91
  704. '
  705. '     e.g.  PKZIP -m -ex %1VIEW%3.%2 %1*.*
  706. ' RBBS would insert PKZIP -m -ex C:\VIEW\VIEWx.ZIP C:\VIEW\*.*
  707. '
  708. '
  709.   SUB Viewtxt STATIC
  710.   ON ERROR GOTO 65000
  711. '
  712. 60140 ZSubParm = 1 
  713.       X = 263              'Pe 01/17/93
  714.       Gosub 60270         'Pe 01/17/93
  715. ZOutTxt$ = ZCrLf$ + OutTxt$
  716.            ZTurboKey = -ZTurboKeyUser
  717.            CALL TGet 
  718.      IF ZSubParm = -1 or ZWasQ = 0 THEN _
  719.                          EXIT SUB
  720.         CALL AllCaps (ZUserIn$)
  721.        MplX = INSTR("TXCLDK?HQ",ZUserIn$)   'pe 03/21/92
  722.      ON MplX GOTO 60149,60168,  60175,  60142,60183,60200,60141,60141,60280
  723. '                 Type  Xtract Compress  List  Dnld  Kill  Help  Help  Quit
  724. GOTO 60280
  725. '
  726. 60141 CALL BufFile (ZHelpPath$ + "ZIP" + ZHelpExtension$,WasX)
  727.       GOTO 60140 
  728. 60142 X = 50              'Pe 01/17/93
  729.       Gosub 60270         'Pe 01/17/93
  730.   CALL QuickTPut1 (OutTxt$) 'Pe 10/03/91
  731.    EXTRACT$ = "DIR "+ ZArkViewPath$+"*.* >VUZIP"+ZNodeID$+".LST" 
  732.    call ShellExit (EXTRACT$)    'Pe 10/03/91
  733. CALL BufFile("VUZIP"+ZNodeID$ +".LST",WasX)
  734. GOTO 60140
  735. '
  736. 60149 ZSubParm = 1
  737.       X = 264              'Pe 01/17/93
  738.       Gosub 60270         'Pe 01/17/93
  739.      ZOutTxt$ = OutTxt$ 
  740.      CALL TGet
  741. IF ZSubParm = -1 THEN _
  742.  EXIT SUB
  743.       ZWasB = 1
  744.        IF ZWasQ = 0 THEN _
  745.         GOTO 60140
  746. IF ZUserIn$ = "R" or ZUserIn$ = "r" THEN _
  747.    CALL BufFile (ZArcWork$,WasX) : _
  748. GOTO 60149
  749.        LastArc = ZWasQ
  750.        FirstArc =ZWasB
  751. FOR ArcIndex = FirstArc TO LastArc
  752. WasZ$ = ZUserIn$(ArcIndex)
  753.    CALL AllCaps (WasZ$)  
  754.   IF INSTR(WasZ$,"*") OR INSTR(WasZ$,"?") THEN _
  755.       X = 51 : _             'Pe 01/17/93
  756.       Gosub 60270 : _        'Pe 01/17/93
  757.     CALL QuickTPut1 (OutTxt$) : _   'Pe 10/03/91
  758.      GOTO 60149
  759.  CALL BreakFileName (WasZ$,Drive$,Prefix$,Ext$,ZFalse)
  760. IF EXT$ = "" THEN _                                    'Pe 08/14/91
  761.    GOTO 60150                                          'Pe 08/14/91
  762.  IF INSTR("ZIP,ARC,LZH,ZOO,PAK,ARJ,DWC,BIN,LIB,OBJ,COM,EXE,PIC,GIF,",Ext$+",") > 0 THEN _  'Pe 08/04/91
  763.       X = 52 : _             'Pe 01/17/93
  764.       Gosub 60270 : _         'Pe 01/17/93
  765.      CALL QuickTPut1 (OutTxt$) :_  'Pe 10/03/91
  766.          GOTO 60149
  767. 60150  Gosub 60190         'Pe 10/03/91
  768.          CALL FindIt (WasZ$)
  769.       IF NOT ZOK THEN _
  770.       X = 53 : _              'Pe 01/17/93
  771.       Gosub 60270 : _         'Pe 01/17/93
  772.   CALL QuickTPut1 (CHR$(7)+WasZ$+" " +OutTxt$) :_  'Pe 10/03/91
  773.         GOTO 60149
  774.      CALL BufFile (WasZ$,WasX)
  775.       CALL KillWork(WasZ$)   'get rid of the files that were xtracted
  776.        NEXT ArcIndex
  777. GOTO 60140
  778. '
  779. 60168 ZSubParm = 1
  780.       X = 265              'Pe 01/17/93
  781.       Gosub 60270         'Pe 01/17/93
  782.        ZOutTxt$ = OutTxt$
  783.           CALL TGet
  784.        IF ZSubParm = -1 THEN _
  785.              EXIT SUB
  786.      If ZWasQ = 0 THEN _    'Pe 10/20/91
  787.           GOTO 60140
  788.        IF ZUserIn$ = "R" or ZUserIn$ = "r" THEN _
  789.           CALL BufFile (ZArcWork$,WasX) : _
  790.          GOTO 60168
  791.       ZwasB = 1
  792.       LastArc = ZwasQ
  793.       FirstArc = ZwasB
  794.       FOR ArcIndex = FirstArc TO LastArc
  795.            WasZ$ = ZUserIn$(ArcIndex)
  796.             CALL AllCaps (WasZ$)
  797.              IF INSTR(WasZ$,"*") OR INSTR(WasZ$,"?") THEN _
  798.             Wildcards = ZTrue                                      'Pe 08/21/91
  799.          CALL BreakFileName (WasZ$,Drive$,Prefix$,Ext$,ZFalse)
  800. '
  801. Gosub 60190  'Pe 10/03/91
  802. '
  803. If WildCards = ZTrue Then _
  804.    WildCards = ZFalse : _
  805.        X = 54  : _             'Pe 01/17/93
  806.       Gosub 60270 : _        'Pe 01/17/93
  807.     Call QuickTput1 (ZCrLf$ +OutTxt$ +ZCrLF$): _ 'Pe 10/03/91
  808.      Extract$ = "DIR "+ ZArkViewPath$+"*.* >VUZIP"+ZNodeID$+".LST" : _
  809.    CALL ShellExit (Extract$) : _     'Pe 10/03/91
  810.   CALL BufFile("VUZIP"+ZNodeID$ +".LST",WasX) : _
  811. Goto 60171
  812. '                           'Pe 11/03/91
  813.    CALL FindIt(WasZ$)
  814.     IF NOT ZOK THEN _
  815.       X = 55 : _              'Pe 01/17/93
  816.       Gosub 60270 : _        'Pe 01/17/93
  817.       CALL QuickTPut1 (ZUserIn$(ArcIndex)+ OutTxt$ +ZCrLF$) : _  'Pe 10/03/91
  818.     GOTO 60171
  819.       X = 56              'Pe 01/17/93
  820.       Gosub 60270         'Pe 01/17/93
  821.  CALL QuickTPut1 (ZUserIn$(ArcIndex) + OutTxt$ )
  822. '
  823. 60171 NEXT ArcIndex
  824.      X = 57              'Pe 01/17/93
  825.       Gosub 60270         'Pe 01/17/93
  826. CALL QuickTPut1 (OutTxt$ + " " +ZDefaultExtension$ + _
  827.                   " file "+ZCrLF$)  'Pe 10/03/91
  828.           GOTO 60140
  829. '
  830. '********** ZIP all files in the ZArkViewPath$ into VIEW.ZIP **********
  831. '
  832. 60175 ZSubparm = 1
  833.       X = 58              'Pe 01/17/93
  834.       Gosub 60270         'Pe 01/17/93
  835.       CALL QuickTPut1 (OutTxt$)  'Pe 10/03/91
  836.       WasX$ = ZDiskForDos$ + "RE" +ZDefaultExtension$ + ".BAT"
  837.       CALL FindIt (WasX$)
  838.        IF NOT ZOK THEN _
  839.       X = 59 : _              'Pe 01/17/93
  840.       Gosub 60270 : _         'Pe 01/17/93
  841.         Call QuickTPut1 (CHR$(7)+OutTxt$) : _
  842.          Call DelayTime (3) : _
  843.        EXIT SUB
  844.       X = 60              'Pe 01/17/93
  845.       Gosub 60270         'Pe 01/17/93
  846.    CALL QuickTPut1 (ZDefaultExtension$ + OutTxt$ )  'Pe 10/03/91
  847.    CALL ShellExit (WasX$ + " " + ZArkViewPath$ +_
  848.                    " " + ZDefaultExtension$ + " " + ZNodeId$) 'LK 08/15/91
  849.     Gosub 60182  'Pe 10/18/91
  850.   Goto 60140
  851.  
  852. '
  853. ' **** Check to see if Compresion was successfull if NOT then redo *****
  854. '
  855. 60182 'pe 10/18/91
  856. ViewFileName$ = ZArkViewPath$ + "VIEW" + ZNodeId$ + "." + ZDefaultExtension$ 'LK 08/15/91
  857. CALL FindIt (ViewFileName$)
  858. IF NOT ZOK THEN _
  859. X = 61 : _              'Pe 01/17/93
  860.       Gosub 60270 : _        'Pe 01/17/93
  861. CALL QuickTPut1 ( OutTxt$+ZCrLF$ ) : _ 'Pe 10/03/91
  862. CALL DelayTime (2) : _
  863. GOTO 60140
  864. X = 62              'Pe 01/17/93
  865. Gosub 60270         'Pe 01/17/93
  866. CALL QuickTPut1 (ZCrLF$ +OutTxt$+"  VIEW"+ZNodeId$+"."+ZDefaultExtension$ +ZCRLF$) 'LK 08/15/91
  867. Return
  868. '
  869. 60183 CALL CheckTimeRemain (MinsRemaining)  'Pe 03/30/92
  870.       IF ZSubParm = -1 THEN _               'Pe 03/30/92
  871.           Exit Sub                          'Pe 03/30/92
  872.  ZFileSysParm = 3   ' Pe 10/20/91
  873.        ZUserIn$ = "D"
  874.         Call FileSystem
  875.       IF ZDnldCompleted = ZTrue AND ZAutoEnd = 1 THEN _
  876.           ZSubParm = -1 : _ 
  877.             Exit Sub                   'AUTO Loggoff Mod
  878. GOTO 60140
  879. '
  880. '******** Subroutine to Extract from Archive..RE???.BAt must exist *****
  881. '
  882. 60190  WasX$ = ZDiskForDos$ + "X" + ZLastExt$ + ".BAT"    'Pe 08/14/91 line num
  883.       CALL FindIt (WasX$)
  884.       IF NOT ZOK THEN _
  885.         X = 63 : _              'Pe 01/17/93
  886.       Gosub 60270 : _         'Pe 01/17/93
  887. Call QuickTPut1 (ZLastExt$ + OutTxt$ ) : _
  888. Call DelayTime (3) : _
  889.        EXIT SUB
  890.       CALL ReadDir (2,1)
  891.       IF EOF(2) THEN _
  892.          WasX$ = ZOutTxt$ : _
  893.          ZGSRAra$(1) = ZFileName$ : _
  894.          ZGSRAra$(2) = WasZ$ : _
  895.          ZGSRAra$(3) = ZArkViewPath$
  896.        X = 64              'Pe 01/17/93
  897.       Gosub 60270         'Pe 01/17/93
  898.       CALL QuickTPut1 (OutTxt$)  'PE 10/03/91
  899.       CALL ShellExit (WasX$)
  900.       WasZ$ = ZArkViewPath$ + WasZ$
  901. Return
  902. '
  903. ' Kills files in ViewSubdir to allow better control of VieFiles
  904. '
  905. 60200 ZSubParm = 1
  906.       X = 266              'Pe 01/17/93
  907.       Gosub 60270         'Pe 01/17/93
  908.      ZOutTxt$ = OutTxt$
  909.      CALL TGet
  910. IF ZSubParm = -1 THEN _
  911.  EXIT SUB
  912.       ZWasB = 1
  913.        IF ZWasQ = 0 THEN _
  914.         GOTO 60140
  915.        LastArc = ZWasQ
  916.        FirstArc =ZWasB
  917. FOR ArcIndex = FirstArc TO LastArc
  918. WasZ$ = ZUserIn$(ArcIndex)
  919.    CALL AllCaps (WasZ$)  
  920.       WasZ$ = ZArkViewPath$ + WasZ$
  921.       CALL KillWork(WasZ$)   'get rid of the files that are NOT wanted
  922.       Call QuickTPut1 (WasZ$ + "  Now Deleted...!" )
  923.        NEXT ArcIndex
  924. Goto 60140
  925. '
  926. 60270 Call GetRBBSString(X,RBBSString$) : _     'Pe 01/16/93
  927.       OutTxt$ = RBBSString$ : _                'Pe 01/16/93 
  928.      RETURN
  929. 60280 END SUB
  930. '
  931. '
  932. '  $SUBTITLE: 'Error Handling for separately compiled subroutines'
  933. '  $PAGE
  934. '
  935. '
  936. ' Error handling for the separately compiled subroutines of RBBS-PC
  937. '
  938. '
  939. * REPLACING old line(s) by new
  940. 65000 IF ZDebug THEN _
  941.          ZOutTxt$ = "RBBSSUB1 DEBUG Error Trap Entry ERL=" + _
  942.               STR$(ERL) + _
  943.               " ERR=" + _
  944.               STR$(ERR) : _
  945.          IF ZPrinter THEN _
  946.             CALL Printit(ZOutTxt$) _
  947.          ELSE CALL LPrnt(ZOutTxt$,1)
  948.       ZErrCode = ERR
  949. '
  950. '     SetCall
  951. '
  952.       IF ERL = 108 THEN _
  953.          CALL PScrn ("Unable to create callers log " + ZCallersFile$) : _
  954.          SYSTEM
  955.       IF ERL = 110 THEN _
  956.           RESUME NEXT
  957. '
  958. '     OPEN CONFIG FILE
  959. '
  960.        IF ERL => 117 AND ERL <= 119 THEN _
  961.           RESUME NEXT
  962. '
  963. * ------[ first line different ]------
  964. '    Create ArkViewSubdir error handling   'Pe 08/15/91
  965.       IF ERL = 150 and ERR = 75 THEN _     'Pe 08/15/91
  966.       ZErrCode = ERR : _
  967.          RESUME NEXT                       'Pe 08/15/91
  968. '
  969. '
  970. '     OPEN COM PORT ERROR HANDLING
  971. '
  972.       IF ERL = 200 THEN _
  973.          CLS : _
  974.          CALL PScrn (ZComPort$ + " does not exist/not responding- Error" + STR$(ERR)) : _
  975.          STOP
  976. '
  977. '     GetCom ERROR HANDLING
  978. '
  979.        IF ERL = 1420 AND ERR = 57 THEN _
  980.           RESUME NEXT
  981.        IF ERL = 1420 AND ERR = 69 THEN _
  982.           ZSubParm = -1 :_
  983.           RESUME NEXT
  984. '
  985. '      OPENRESEQ ERROR HANDLING
  986. '
  987.        IF ERL = 1479 OR ERL = 1487 OR ERL = 1489 THEN _           ' 'Pe022501
  988.            ZErrCode = ERR : _
  989.            RESUME NEXT
  990.  
  991. '
  992. '      OpenUser ERROR HANDLING
  993. '
  994.        IF ERL = 9400 AND ERR = 75 AND ZShareIt THEN _
  995.           CALL DelayTime (30) : _
  996.           RESUME
  997. '
  998. '      FindUser ERROR HANDLING
  999. '
  1000.        IF ERL = 12610 OR ERL = 12600 THEN _
  1001.           RESUME NEXT
  1002. '
  1003. '     UpdtCalr ERROR HANDLING
  1004. '
  1005.        IF ERL = 13663 THEN _
  1006.           RESUME NEXT
  1007.        IF ERL = 13672 AND ERR = 61 THEN _
  1008.           CALL QuickTPut1 ("Disk Full") : _
  1009.           IF ZDiskFullGoOffline THEN _
  1010.              GOTO 65010 _
  1011.           ELSE RESUME NEXT
  1012.        IF ERL = 13672 THEN _
  1013.           ZCallersFileIndex! = ZCallersFileIndex! - 1 : _
  1014.           RESUME NEXT
  1015. '
  1016. '     ZPrinter ERROR HANDLING
  1017. '
  1018.        IF ERL = 13674 THEN _
  1019.           ZPrinter = ZFalse : _
  1020.           RESUME
  1021. '
  1022. '     FindIt ERROR HANDLING
  1023. '
  1024.        IF ERL = 20221 THEN _
  1025.           RESUME NEXT
  1026.        IF ERL = 20223 AND ZErrCode = 58 THEN _
  1027.           ZErrCode = 64 : _
  1028.           ZOK = ZFalse : _
  1029.           RESUME NEXT
  1030.        IF ERL = 20223 AND ZErrCode = 76 THEN _
  1031.           CALL LPrnt("Bad path.  File name is " + FilName$,1) : _
  1032.           ZErrCode = 76 : _
  1033.           ZOK = ZFalse : _
  1034.           RESUME NEXT
  1035.        IF ERL => 20221 AND ERL <= 20223 AND ZErrCode = 70 _
  1036.           AND ZNetworkType = 6 THEN _
  1037.              ZErrCode = 0 : _
  1038.              RESUME NEXT
  1039.        IF ERL => 20221 AND ERL <= 20223 THEN _
  1040.           RESUME
  1041. '
  1042. '     FlushCom ERROR HANDLING
  1043. '
  1044.        IF ERL = 20310 AND ERR = 14 THEN _       'Pe 01/03/90
  1045.           RESUME NEXT                           'Pe 01/03/90
  1046.        IF ERL = 20311 AND ERR = 57 THEN _
  1047.           RESUME NEXT
  1048.        IF ERL = 20311 AND ERR = 69 THEN _
  1049.           ZAbort = ZTrue : _
  1050.           ZSubParm = -1 : _
  1051.           RESUME NEXT
  1052. '
  1053. '     NetBIOS ERROR HANDLING
  1054. '
  1055.        IF ERL => 29900 AND ERL <= 29920 THEN _
  1056.           RESUME NEXT
  1057. '
  1058. '     UpdateC ERROR HANDLING
  1059. '
  1060.       IF ERL => 43050 AND ERL <= 43060 AND ERR = 61 THEN _
  1061.          ZOutTxt$ = "* Disk full - terminating *" : _
  1062.          ZSubParm =2 : _
  1063.          CALL TPut : _
  1064.          IF ZDiskFullGoOffline THEN _
  1065.            GOTO 65010 _
  1066.          ELSE SYSTEM
  1067. '
  1068. '      MenuNew Error Handling               ' Pe 02/09/93
  1069. '
  1070.  
  1071.       IF ERL = 58370 THEN _
  1072.              ZErrCode = 0 : _
  1073.       Call Killwork ("MENUNEW"+ZNodeFileID$ + ".DEF")
  1074.       RESUME NEXT
  1075.  
  1076. '     CheckInt ERROR HANDLING
  1077. '
  1078.        IF (ERL = 59652 OR ERL = 59727) AND ERR = 24 THEN _
  1079.           ZNotCTS = ZTrue : _
  1080.           CALL Line25 : _
  1081.           ZErrCode = 0 : _
  1082.           RESUME
  1083.        IF ERL => 52000 AND ERL <= 59725 THEN _
  1084.           RESUME NEXT
  1085. '
  1086. '     FindFile ERROR HANDLING
  1087. '
  1088.        IF ERL = 59791 THEN _
  1089.           IF ERR = 57 THEN _
  1090.              CALL DelayTime (1) : _
  1091.              CALL UpdtCalr ("SLOW I/O ERROR",1) : _
  1092.              IOErrorCount = IOErrorCount + 1 : _
  1093.              IF IOErrorCount < 19 THEN _         'Was 11 Pe 08/05/92
  1094.                 RESUME
  1095. '
  1096. '* ------[ first line different ]------
  1097.  
  1098.       IF ERL = 59800 AND ERR = 70 THEN                               ' CHAT0805
  1099.          RESUME NEXT                                                 ' CHAT0805
  1100.       END IF                                                         ' CHAT0805
  1101. '                                                                    ' CHAT0805
  1102.       IF ERL = 59810 AND ERR = 70 THEN                               ' CHAT0805
  1103.          RESUME NEXT                                                 ' CHAT0805
  1104.       END IF                                                         ' CHAT0805
  1105. '
  1106. '
  1107. '      VIEW ARC TXT ERROR HANDLER
  1108. '
  1109.  IF ERL => 60140 AND ERR = 53 THEN _                              'Pe 10/20/91
  1110.          CALL QuickTPut1 ("ERROR ! No Such File, EXITING"):_
  1111.          RESUME NEXT
  1112. IF ERL => 60140 AND ERR = 63 THEN _                              'Pe 10/20/91
  1113.          CALL QuickTPut1 ("ERROR Occured, Please notify SysOp"):_
  1114.          RESUME NEXT
  1115. ' Pe 10/20/91
  1116. '
  1117. '
  1118. '     CATCH ALL OTHER ERRORS
  1119. '
  1120.        ZOutTxt$ = "RBBS-SUB1 Untrapped Error" + _
  1121.             STR$(ERR) + _
  1122.             " in line" + _
  1123.             STR$(ERL)
  1124.        CALL QuickTPut1 (ZOutTxt$)
  1125.        CALL UpdtCalr (ZOutTxt$,2)
  1126.        RESUME NEXT
  1127. '     SHARED ROUTINE FOR GOING OFF LINE WHEN DISK FULL
  1128.